// 应用入口文件
import { AbilityStage } from '@kit.AbilityKit';
import Logger from './utils/Logger';
import { getAppService } from './services/AppService';

export default class MyAbilityStage extends AbilityStage {
  onCreate() {
    Logger.info('MyAbilityStage', 'AbilityStage onCreate');
    
    try {
      // 初始化应用服务
      this.initializeAppServices();
      
      // 初始化应用配置
      this.initializeAppConfig();
      
      Logger.info('MyAbilityStage', '应用初始化完成');
    } catch (error) {
      Logger.error('MyAbilityStage', '应用初始化失败: ' + JSON.stringify(error));
    }
  }
  
  /**
   * 初始化应用服务
   */
  async initializeAppServices() {
    try {
      Logger.info('MyAbilityStage', '开始初始化应用服务');
      const appService = getAppService();
      await appService.initialize();
      // 将应用服务挂载到全局对象，方便其他组件访问
      globalThis.appService = appService;
      Logger.info('MyAbilityStage', '应用服务初始化成功');
    } catch (error) {
      Logger.error('MyAbilityStage', '初始化应用服务失败: ' + JSON.stringify(error));
      throw error;
    }
  }
  
  /**
   * 初始化应用配置
   */
  initializeAppConfig() {
    Logger.info('MyAbilityStage', '初始化应用配置');
    // 这里可以初始化应用的全局配置
    // 例如：主题设置、语言设置等
  }
  
  onDestroy() {
    Logger.info('MyAbilityStage', 'AbilityStage onDestroy');
    // 清理资源
    if (globalThis.appService) {
      globalThis.appService.cleanup();
    }
  }
}